CC=gcc
CFLAGS=-g -W -Wall -ansi -pedantic --std=c99 -O3
LDFLAGS=-lpthread
EXEC=csatsolver
OBJDIR = obj
SRC = $(wildcard *.c)
OBJ = $(SRC:.c=.o)
OBJ := $(addprefix $(OBJDIR)/, $(OBJ))

all: $(EXEC)

csatsolver: $(OBJ)
	$(CC) -o $@ $^ $(LDFLAGS)
	
$(OBJDIR)/mem.o: mem.h
$(OBJDIR)/fsio.o: fsio.h
$(OBJDIR)/matrice.o: matrice.h
$(OBJDIR)/solver.o: solver.h

$(OBJDIR)/%.o: %.c
	@if [ ! -d obj ] ;then mkdir obj ;fi
	@$(CC) -o $@ -c $< $(CFLAGS)

.PHONY: clean mrproper

clean:
	@rm -rf $(OBJDIR);
	
mrproper:
	@rm -rf $(EXEC)
